在客體機剛建立的初期,也許我們會將磁碟的容量配置的少一些,若之後使用量增加後需要更大的磁碟空間,在 Proxmox VE 管理介面上可以簡單的操作後完成這項作業。
除了在 Proxmox VE 管理介面上對客體機磁碟的調整外,本文也會介紹客體虛擬機內的作業系統如何將新配置的容量合併進來使用,包括 Windows 與 Linux。
我們需要先在 Proxmox VE 管理介面調整完容量後,在到客體機內再進行相關的操作,就可以讓客體機也取得正確的可用容量。
提醒:
調整磁碟容量功能只能增加,無法減少。
提醒:
若調整的對象是客體容器,它會直接生效,不需進入客體內再做相關操作。
先前我們建立一台 Windows 系統的客體虛擬機,磁碟容量配置為 100GB,隨著使用上的需求容量開始不足,已經變為紅色警戒的 2.05GB,很快就要爆了。
Windows 客體機磁碟容量不足
要為這個磁碟加大可用容量,請在硬體頁籤選取 硬碟 (scsi0)
,再按下 調整磁碟大小
按鈕。
準備調整磁碟容量大小
請在彈出選項視窗中,在 增加大小 (GiB)
欄位填入要往上加的容量,例如輸入 50
表示要增加 50GB 容量給這個磁碟使用。
調整磁碟容量大小選項視窗
調整完成以後,可以看到這個磁碟的容量由原本的 100G 變更為 150G
。
調整磁碟容量大小完成
接著,開啟這個客體虛擬機的主控台,按下 Ctrl + R
,輸入 diskmgmt.msc
開啟磁碟管理工具程式,可以看到在 磁碟 0
的後面多出了 50GB 的未配置空間。
在客體機內看到已增加容量
接下來可以使用相關工具來將容量加入到 C:
所在的磁區使用。但因為多出來的 50G
跟 C:
中間隔了一個 修復磁碟分割
,所以無法使用內建的磁碟管理工具程式直接從 C:
磁區延伸 50GB
進來,需要搭配其它工具程式,例如:
提醒:
除了 GParted 之外,這些第三方工具軟體免費版本僅限於非商業使用。
補充:
若要處理的磁區是系統磁區,需要以 LiveCD/USB 或改用其它系統開機,才可以使用工具對其進行調整。若不是開機磁區,直接使用內建磁碟管理工具就可以完成擴充。
經過相關工具處理後,已經可以正確使用到增加 50GB 後的完整容量。
在客體機磁碟將已增加容量分配完成
在客體虛擬機安裝好的 Linux 作業系統若遇到容量不足,同樣可以採用調整磁碟大小的方式進行擴充。
選取硬體頁籤要擴充的磁碟 硬碟 (scsi0)
,再按下 調整磁碟大小
按鈕。
準備調整磁碟容量大小
設定好要加大的容量後,硬體清單上已經可以看到由原本的 40G
加大為 100G
。
調整磁碟容量大小完成
接著我們進到客體虛擬機的主控台,準備進行客體機內的磁碟容量擴充作業。先用指令查看客體機是否已經取得正確的擴充後容量。
使用 lsblk
指令可以方便的查詢目前磁碟狀況,在圖中可以看到 sda
這顆磁碟確實已經取得 100G
的容量,而 sda3
這個由 LVM 所管理的仍然是 39G
,以及其下的磁區 ubuntu--vg-ubuntu-lv
也只有分配 20G
,趁著這次調整一併加大。
由客體虛擬機中查看磁碟容量
由於在 Ubuntu Linux 預設的安裝配置採用了 LVM 磁區管理及 EXT4 檔案系統,所以我們可以直接使用指令進行即時擴充,不需要關機。
使用 parted 指令,讓 sda3 可以取得新的可用容量進來。
parted /dev/sda
進入對話模式。print
列出這個磁碟的磁區,確認第三區 40G 左右的磁區是編號 3
。resizepart 3
變更第三個磁區的容量,請輸入最上方所看到的總容量 107GB
,讓它取得所有最新擴充的容量進來。print
一次,確認容量已經分配進來給第三區。quit
離開 parter 工具程式。
在客體機擴磁區容量
當前面磁區擴充好以後,接下來我們要進行 LVM 裡的調整作業。首先執行 pvresize /dev/sda3
,讓 LVM 可以取得最新的容量數字,接著再執行 vgdisplay
,查看 Free PE / Size
是否已正確讓 LVM 可以用來分配。
讓 LVM 取得新的可用容量
接下來使用 lvextend -L +78G /dev/mapper/ubuntu--vg-ubuntu--lv
指令,將 LVM 下的系統碟多擴充 78GB 的容量,完成後執行 resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
讓容量的異動套用至檔案系統。
最後再執行 lsblk
以確認容量擴充作業正確生效。
將容量擴充至 LVM 管理磁區成功